Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: refactor uint #90

Merged
merged 64 commits into from
Jul 15, 2024
Merged

feat: refactor uint #90

merged 64 commits into from
Jul 15, 2024

Conversation

iammadab
Copy link
Contributor

General Goals

  • make logic clearer via abstractions and documentation
  • all methods should be under UInt<M, C>::* (remove UIntAddSub and UIntCmp)
  • extensive testing

singer/src/instructions/swap.rs Outdated Show resolved Hide resolved
singer/src/instructions/swap.rs Outdated Show resolved Hide resolved
singer-utils/src/uint/witness_extractors.rs Outdated Show resolved Hide resolved
singer-utils/src/uint/witness_extractors.rs Outdated Show resolved Hide resolved
singer-utils/src/uint/witness_extractors.rs Outdated Show resolved Hide resolved
singer-utils/src/uint/util.rs Outdated Show resolved Hide resolved
singer-utils/src/uint/witness_extractors.rs Outdated Show resolved Hide resolved
singer-utils/src/uint/witness_extractors.rs Outdated Show resolved Hide resolved
singer-utils/src/chip_handler/range.rs Outdated Show resolved Hide resolved
singer-utils/src/chip_handler/range.rs Outdated Show resolved Hide resolved
@dreamATD dreamATD merged commit 5dea054 into master Jul 15, 2024
3 of 4 checks passed
yczhangsjtu pushed a commit that referenced this pull request Aug 12, 2024
* confirm const across file impl

* implement try from cell_id's to uint

* add test for uint from cell ids

* add documentation

* document N_OPERAND_CELLS constant

* wip

* test cell repacking

* add documentation

* update packing test, ensure remaining values are 0s

* add more uint instantiation methods

* add test placeholders

* sketch base plan for cmp

* implement and test pad cells

* modify from_range and from_bytes to use cell padding

* extract logic for uint from arbitrary cell_width to make from_range and from_bytes easier

* add compile time evaluated min function

* introduce new constant  cleans up uint_from*

* update uint from cell id test to test greater than N_OPERANDS

* add test for uint from different sized cells

* implement add_unsafe

* add functions sketch

* wip

* all func

* building

* test compiling

* use range checker

* refactor constants second pass

* document cmp

* wip

* arithmetic second pass

* delete old uint

* refactor arithmetic

* fix documentation

* add test for add

* test add constant unsafe

* add test for add_small_unsafe

* implement handle borrow

* test sub_unsafe

* rename add_small to add_cell

* wip

* change uint mod management

* setup structure for namespacing constants

* refactor counter vector implementation

* move add specific constants to AddSub block

* fix comment arithmetic precedence

* wip

* use range cells instead of range cells no overflow

* add optimization comment

* wip

* rename witness extractors

* fix test building

* wip

* wip

* fix bugs: correct convert_decomp endian and timestamp cmp witness size

* rename uint module before merge

* rename uint_new back to uint

* cleanup pr

---------

Co-authored-by: dreamATD <[email protected]>
hero78119 pushed a commit that referenced this pull request Sep 30, 2024
* confirm const across file impl

* implement try from cell_id's to uint

* add test for uint from cell ids

* add documentation

* document N_OPERAND_CELLS constant

* wip

* test cell repacking

* add documentation

* update packing test, ensure remaining values are 0s

* add more uint instantiation methods

* add test placeholders

* sketch base plan for cmp

* implement and test pad cells

* modify from_range and from_bytes to use cell padding

* extract logic for uint from arbitrary cell_width to make from_range and from_bytes easier

* add compile time evaluated min function

* introduce new constant  cleans up uint_from*

* update uint from cell id test to test greater than N_OPERANDS

* add test for uint from different sized cells

* implement add_unsafe

* add functions sketch

* wip

* all func

* building

* test compiling

* use range checker

* refactor constants second pass

* document cmp

* wip

* arithmetic second pass

* delete old uint

* refactor arithmetic

* fix documentation

* add test for add

* test add constant unsafe

* add test for add_small_unsafe

* implement handle borrow

* test sub_unsafe

* rename add_small to add_cell

* wip

* change uint mod management

* setup structure for namespacing constants

* refactor counter vector implementation

* move add specific constants to AddSub block

* fix comment arithmetic precedence

* wip

* use range cells instead of range cells no overflow

* add optimization comment

* wip

* rename witness extractors

* fix test building

* wip

* wip

* fix bugs: correct convert_decomp endian and timestamp cmp witness size

* rename uint module before merge

* rename uint_new back to uint

* cleanup pr

---------

Co-authored-by: dreamATD <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants